public class text_11 {
    //在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
    public static int max(int x,int y){
        int num = x > y?x:y;
        return num;
    }
    public static int max1(int x,int y,int z){
        int num = max(x,y)>z?max(x,y):z;
        return num;
    }

    // 在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。
    public static int add(int x,int y){
        return x+y;
    }
    public static double add(double x,double y){
        return x+y;
    }
    public static float add(float x,float y ){
        return x+y;
    }
    public static double add (double x,double y,double z){
        return add(x,y)+z;
    }
//斐波那契数列
    public static int fbnqsl(int n){
        if(n==1){
            return 0;
        }
        if(n==2){
            return 1;
        }
        return fbnqsl(n-1)+fbnqsl(n-2);
    }

    //求1！+2！+3！+4！+........+n!的和
    public static int jch(int n){
        int num = 0;
        while(n!=0){
            num += jc(n);
            n--;
        }
        return num;
    }

    //求n的阶乘
    public static int jc(int n){
        if(n==1){
            return 1;
        }
        if(n==0){
            return 0;
        }
        int num = n*jc(n-1);
        return num;
    }
    //创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //  要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static int max2(int x,int y){
        return x+y;
    }
    public static int max3(int x,int y ,int z){
        int num = max2(x,y)+z;
        return num;
    }
    public static void main(String[] args) {
        System.out.println(max3(5, 6, 7));
        System.out.println(jc(5));
        System.out.println(jch(3));
        System.out.println(fbnqsl(3));
        System.out.println(add(1, 2, 3));
        System.out.println(max1(8, 9, 15));
    }
}
